home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
obero
/
oberon_lib.lha
/
oberon-a
/
source1.lha
/
source
/
Amiga
/
KeyMap.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
2KB
|
87 lines
(**************************************************************************
$RCSfile: KeyMap.mod $
Description: Keymap definitions
Created by: fjc (Frank Copeland)
$Revision: 3.2 $
$Author: fjc $
$Date: 1994/08/08 00:47:25 $
$VER: keymap.h 36.3 (13.4.90)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
MODULE KeyMap;
(*
** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
** $V- OvflChk $Z- ZeroVars
*)
IMPORT E := Exec;
(*
** key map definitions for keymap.resource, keymap.library, and
** console.device
*)
TYPE
KeyMapPtr* = CPOINTER TO KeyMap;
KeyMap* = RECORD
loKeyMapTypes * : CPOINTER TO ARRAY 64 OF E.BSET;
loKeyMap * : CPOINTER TO ARRAY 64 OF E.ULONG;
loCapsable * : CPOINTER TO ARRAY 8 OF E.BSET;
loRepeatable * : CPOINTER TO ARRAY 8 OF E.BSET;
hiKeyMapTypes * : CPOINTER TO ARRAY 64 OF E.BSET;
hiKeyMap * : CPOINTER TO ARRAY 64 OF E.ULONG;
hiCapsable * : CPOINTER TO ARRAY 8 OF E.BSET;
hiRepeatable * : CPOINTER TO ARRAY 8 OF E.BSET;
END; (* KeyMap *)
KeyMapNodePtr* = CPOINTER TO KeyMapNode;
KeyMapNode* = RECORD (E.Node) (* including name of keymap *)
keyMap * : KeyMap;
END; (* KeyMapNode *)
KeyMapResourcePtr* = CPOINTER TO KeyMapResource;
KeyMapResource* = RECORD (E.Node)
list * : E.List; (* a list of KeyMapNodes *)
END; (* KeyMapResource *)
CONST
(* Key Map Types *)
kcShift * = 0;
kcAlt * = 1;
kcControl * = 2;
kcDownUp * = 3;
kcDead * = 5; (* may be dead or modified by dead key: *)
(* use dead prefix bytes *)
kcString * = 6;
kcNop * = 7;
kcNoQual * = {};
kcVanilla * = {kcShift, kcAlt, kcControl}; (* note that SHIFT+ALT+CTRL is VANILLA *)
(* Dead Prefix Bytes *)
dpbMod * = 0;
dpbDead* = 3;
dp2dIndexMask * = 0FH; (* mask for index for 1st of two dead keys *)
dp2dFacShift * = 4; (* shift for factor for 1st of two dead keys *)
END KeyMap.